RDS MySQLの監査ログがCloudWatch Logsにエクスポートされない場合の対処方法
困っていた内容
RDS MySQL作成時に「ログのエクスポート」から監査ログを有効にしました。
しかし、CloudWatch Logsに監査ログがエクスポートされません。
どのようにすれば監査ログをCloudWatch Logsにエクスポートできるでしょうか?
どう対応すればいいの?
オプショングループにMariaDB 監査プラグインを追加する必要があります。
Amazon RDS では、MySQL データベースインスタンスでの MariaDB 監査プラグインの使用をサポートしています。MariaDB 監査プラグインは、データベースへのユーザーのログオンやデータベースに対して実行されたクエリなどのデータベースアクティビティを記録します。データベースのアクティビティのレコードはログファイルに保存されます。
必要となる作業は以下の2点です。
- オプショングループの作成・変更(デフォルトのオプショングループを使用している場合のみ)
- MariaDB 監査プラグインの追加
※注意
MariaDB 監査プラグインはRDS MySQL バージョン 8.0 ではサポートされていません。
サポートされているのはMySQL バージョン 5.5、5.6、および 5.7 です。
Amazon RDS でサポートされていない MySQL の機能
MariaDB 監査プラグイン (Amazon RDS MySQL バージョン 8.0 でのみサポートされていません)
MariaDB 監査プラグインは、Amazon RDS MySQL バージョン 5.5、5.6、および 5.7 でサポートされています。
RDS MySQL バージョン 8.0においてMariaDB 監査プラグインの完全な代替案はありませんが、 一般ログで接続元IPアドレスをログ出力するなど一部の項目は代替できますのでご検討ください。
1. オプショングループの作成・変更(デフォルトのオプショングループを使用している場合のみ)
デフォルトのオプショングループにはMariaDB 監査プラグインを追加することが出来ません。
デフォルトのオプショングループを使用している場合、オプショングループを新規作成し、作成したオプショングループを使用するようにRDS MySQLを変更する必要があります。
オプショングループの作成
マネジメントコンソールのオプショングループから「グループを作成」を押下します。
名前、説明、エンジン、メジャーエンジンバージョンを入力して「作成」を押下します。
以上でオプショングループの作成は完了です。
オプショングループの変更
次にRDS MySQLに対してオプショングループの変更を行いますが、
オプショングループの変更については機能停止は発生しませんので、変更を即時反映できます。
コンソールの設定と説明:オプショングループ
ダウンタイムに関する注意:この変更時に機能停止は発生しません。
マネジメントコンソールから対象のRDS MySQLを選択し、「変更」を押下します。
オプショングループを上記で作成したオプショングループに変更して、マネジメントコンソール下部の「続行」を押下します。
機能停止は発生しないため、今回は「すぐに適用」を選択し、「DB インスタンスの変更」を押下します。
以上でオプショングループの変更は完了です。
2. MariaDB 監査プラグインの追加
オプショングループにMariaDB 監査プラグインを追加します。
MariaDB 監査プラグインを追加すると、DBインスタンスが停止する可能性があります。 メンテナンス期間中またはデータベースのワークロードが低い時間帯に追加することをお勧めします。
重要
MariaDB 監査プラグインを DB インスタンスに追加すると、停止する可能性があります。MariaDB 監査プラグインは、メンテナンス期間中またはデータベースのワークロードが低い時間帯に追加することをお勧めします。
マネジメントコンソールのオプショングループから作成したオプショングループを選択し、「オプションを追加」を押下します。
オプション名に「MARIADB_AUDIT_PLUGIN」を選択し、その他設定はデフォルトのまま、今回はすぐに適用に「Yes」を選択し、「オプションの追加」を押下します。
オプションの各項目の詳細は、監査プラグインのオプション設定をご参照ください。
以上でMariaDB 監査プラグインの追加は完了です。
CloudWatch Logsエクスポート確認
実際にRDS MySQLを新規作成し、上記のオプショングループの作成・変更、MariaDB 監査プラグインの追加を行い、CloudWatch Logsに監査ログがエクスポートされることを確認できました。
参考情報
Amazon RDS MySQL または MariaDB インスタンスの監査ログを有効にして、そのログを CloudWatch に公開する方法を教えてください。